Polar Mod
通称 pmod
2次元座標系を、原点を中心にパイみたいに切り分け、すべてのパイが同じ範囲を参照するよう、座標系をパイの領域ごとに2次元回転行列で回転する GLSL
code:glsl
vec2 pmod(vec2 p, float count, out float index) {
index = mod(floor(atan(p.y, p.x) / TAU * count + 0.5), count);
float theta = index * TAU / count;
p *= rotate2D(-theta);
return p;
}
vec2 pmod(vec2 p, float count) {
float _;
return pmod(p, count, _);
}
https://gyazo.com/1d4b3fccefbf9f48381516515f55223f